import document_query_processing as dqp

#Dipanggil saat ada tombol lakukan indexing ditekan pada PAGE 1
#inverted_file_saved_path : path+filename dari inverted file yang ingin disimpan(string)
#document_collection_file : File koleksi dokumen(format SMART)(string)
#query_list_file : Koleksi query(format SMART)(string)
#relevance_judgement_file :  File relevance judgement(string)
#stop_list : Nama File yang menyimpan stop list
#use_stemming : boolean(true jika memakai Porter stemmer, false jika tidak)
#term_weighting_mode :  e.g "lnc.ltc"
#Fungsi ini membuat inverted_file, in memory retrieval result(query dan document relevant menurut document) dan performansi
def doIndexing(inverted_file_saved_path, document_collection_file, query_list_file, relevance_judgement_file, \
               stop_list, is_use_stemming, term_weighting_mode):
    document_query_processing = dqp.DocumentQueryProcessing(document_collection_file, stop_list,\
                                                            is_use_stemming, term_weighting_mode, inverted_file_saved_path)
    document_query_processing.documentCollectionProcessing()
    pass

#Dipanggil saat tombol "retrieval" ditekan pada PAGE 2(Interactive)
#query adalah string pada textbox
#Fungsi ini return list of document id relevant berdasar ranking, e.g. [25, 10, 2]
def doRetrievalOneQuery(query):
    
    pass

#Dipanggil saat tombol "retrieval with relevance feedback" ditekan pada PAGE 2
#list_of_relevant_document_id adalah list dari id document yang dianggap relevant, e.g. [1, 2, 4]
#list_of_relevant_document_id adalah list dari id document yang dianggap relevant, e.g. [3, 5]
#method adalah string yang dilempar berupa cara penanganan relevance feedback, method adalah anggota dari himpunan string : {"rochio", "ide_regular", "ide_dec_hi"}
#Untuk method == "rochio" beta dan gama adalah nilai beta dan gamma dari user(float)
#Element yang ada pada list relevant dan non relevant sudah harus terurut berdasarkan rangking, dari rangking 1 seterusnya.
#Fungsi ini return list of document id relevant berdasar ranking, e.g. [25, 10, 2]
def doRetrievalWithRelevanceFeedBack(list_of_relevant_document_id, list_of_non_relevant_document_id, method, beta, gamma):
    
    pass

if __name__ == '__main__':
    document_collection_file = 'simple_document_collection.txt'
    query_list_file = 'query_list.txt'
    relevance_judgement_file = ""
    stop_list_file = 'stoplist.txt'
    term_weighting_code = "lnc.ltc"
    inverted_file_saved_path = "D:\\SEMESTER 7\\IR\\TUBES1\\freedom_ir\\freedom_inverted_file.txt"
    is_use_stemming = False
    
    